namespace OpenCalais.Domain
{
    /// <summary>
    /// The type of the node that presents details about individual instances of Calais types
    /// </summary>
    [RDFAbout("http://s.opencalais.com/1/type/sys/InstanceInfo")]
    public class InstanceInfo
  : Resource  {
        /// <summary>
        /// Text portions before and after a matched instance
        /// </summary>
        [RDFAbout("http://s.opencalais.com/1/pred/detection")]
        public string Detection { get; set; }

        /// <summary>
        /// Text portion of a matched instance
        /// </summary>
        [RDFAbout("http://s.opencalais.com/1/pred/exact")]
        public string Exact { get; set; }

        /// <summary>
        /// Length of the matched text (in characters) for each identified instance
        /// </summary>
        [RDFAbout("http://s.opencalais.com/1/pred/length")]
        public string Length { get; set; }

        /// <summary>
        /// Offset of the matched text (in characters, from the beginning of the document) for each identified instance
        /// </summary>
        [RDFAbout("http://s.opencalais.com/1/pred/offset")]
        public string Offset { get; set; }

        /// <summary>
        /// Text portion before a matched instance
        /// </summary>
        [RDFAbout("http://s.opencalais.com/1/pred/prefix")]
        public string Prefix { get; set; }

        /// <summary>
        /// Text portions after a matched instance
        /// </summary>
        [RDFAbout("http://s.opencalais.com/1/pred/suffix")]
        public string Suffix { get; set; }
    }
}